points_delaunay_naive_2d Interface

interface
public subroutine points_delaunay_naive_2d(node_num, node_xy, maxtri, triangle_num, triangle_node)

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(in) :: node_num

The number of nodes.

real(kind=real64), intent(in) :: node_xy(2,node_num)

The coordinates of the nodes.

integer(kind=int32), intent(in) :: maxtri

The maximum number of triangles.

integer(kind=int32), intent(out) :: triangle_num

The number of triangles in the triangulation.

integer(kind=int32), intent(out) :: triangle_node(3,maxtri)

The indices of the triangle nodes.

Description

A naive Delaunay triangulation scheme.

This routine is only suitable as a demonstration code for small problems. Its running time is of order NODE_NUM**4. Much faster algorithms are available.

Given a set of nodes in the plane, a triangulation is set of triples of distinct nodes, forming triangles, so that every point within the convex hull of the set of nodes is either one of the nodes, or lies on an edge of one or more triangles, or lies within exactly one triangle.

A Delaunay triangulation is a triangulation with additional properties.

NODE_NUM must be at least 3.